package com.aerozhonghuan.archive.service;

import com.aerozhonghuan.archive.dto.VerificationResult;

import java.util.Date;
import java.util.List;

public interface DataConsistencyService {
    /**
     * 遍历 migration_config 表中所有启用的配置记录，对每个源表和归档表进行行数一致性校验
     *
     * @param currentTime 当前校验截止时间
     * @return 每个配置对应的行数一致性校验结果列表
     */
    List<VerificationResult> verifyCountConsistency(Date currentTime);

    /**
     * 遍历 migration_config 表中所有启用的配置记录，对每个源表和归档表进行随机抽样 MD5 校验
     *
     * @param currentTime 当前校验截止时间
     * @param sampleCount 随机抽样的样本数量
     * @return 每个配置对应的 MD5 校验结果列表
     */
    List<VerificationResult> verifyMd5Consistency(Date currentTime, int sampleCount);
}
